A64L
Section: MINTLIB LIBRARY FUNCTIONS
(3)
Updated: 3 March 1993
Index
Return to Main Contents
NAME
a64l, l64a - convert between long integer and base-64 ASCII string
SYNOPSIS
#include <support.h>
long a64l(const char *s);
char *l64a(long l);
DESCRIPTION
These functions are used to maintain numbers stored in base-64
ASCII characters. This is a notation by which long integers
can be represented by up to six characters; each character
represents a "digit" in a radix-64 notation.
The characters used to represent "digits" are . for 0, / for 1,
0 through 9 for 2-11, A through Z for 12-37, and a through z
for 38-63.
a64l takes a pointer to a null-terminated base-64 representation
and returns a corresponding long value. If the string pointed to
by s contains more than six characters, a64l will use the first
six. a64l scans the character string from left to right, decoding
each character as a 6 bit radix-64 number. If the string contains
illegal characters, -1 is returned and errno is set to EBADARG.
l64a takes a long argument and returns a pointer to the
corresponding base-64 representation. If the argument is 0, a64l
returns a pointer to a null string. If the argument is smaller
than zero, a pointer to a null string is returned and errno is
set to EBADARG.
CAVEATS
The value returned by l64a is a pointer into a static buffer,
the contents of which are overwritten by each call.
The value returned by a64l may be incorrect if the value
is too large; for that reason, only strings that resulted
from a call to l64a should be used to call a64l.
Maybe these calls should use unsigned long values, but longs
are used here to retain compatibility with UN*X System V.
Index
- NAME
-
- SYNOPSIS
-
- DESCRIPTION
-
- CAVEATS
-
This document was created by
man2html,
using the manual pages.
Time: 11:14:52 GMT, June 22, 2025